package xyz.xxdl.Service;

import com.alibaba.fastjson.JSONObject;


public interface AsdxApi {


    /**
     *
     * @return 获取账号的基本信息
     */
    JSONObject query_prv_account_info();

    /*
    * 获取余额
    *   通过?拼接params,用于指定查询的币种,币种需要大写
    *("--asset", type=str, default=None,
              help='optional, if none, return all assets with non-empty balance. You can specify an asset (e.g. "BTC")')
    *("--account", type=click.Choice(['cash', 'margin']), default="cash", help="cash (default) or margin")
    *("--show-all/--no-show-all", default=false, help="show all balances, including empty balances")
    * ("--config", type=str, default="config.json", help="path to the config file")
    * ("--verbose/--no-verbose", default=False)不知道干嘛的
    * */

    /**
     * 查询余额
     * @param asset none查询全部，可指定具体的币种大写
     * @param account ['cash', 'margin']
     * @param show_all "false"
     * @return
     */
    JSONObject query_prv_balance(String asset, String account, String show_all);






// 获取买一价
Double marketBuy(String symbol);
//获取卖一价
Double marketSell(String symbol);



    /*下个新订单
     * side方向需要小写
     * symbol:BTMX/USDT
     * resp_inst:下单后的返回类型,ACCEPT是最详细的
     * */


//    JSONObject order_new(String symbol, String price, String onceQty, String side);
    /**
     *
     * @param symbol BTMX/USDT
     * @param price 价格
     * @param onceQty 成交量
     * @return 返回查询后的订单状态
     */
    String orderNew(String symbol, String price, String onceQty, String side);

    /*
     * 根据订单id取消订单
     * resp_inst:默认ACCEPT
     * */
    JSONObject order_cancel(String account, String order_id, String symbol, String resp_inst);

    // 根据订单id查询订单信息
    /*
    *Canceled: 已取消订单
    * Filled : 完全成交订单
    *PartiallyFilled: 部分成交
    * New:新订单
    *  */
    JSONObject order_query(String order_id);


}
